/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package com.giant.bean.parametrics;

import com.giant.entities.InCatalog;
import com.giant.services.parametrics.ServiceCatalogLocal;
import java.io.Serializable;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import javax.ejb.EJB;
import javax.faces.bean.ManagedBean;
import javax.faces.bean.ViewScoped;

/**
 *
 * @author taticay
 */
@ManagedBean
@ViewScoped
public class CatalogBean implements Serializable {

    /**
     * Relación con la interfaz que provee los servicios necesarios del vendedor
     */
    @EJB
    private ServiceCatalogLocal serviceCatalog;
    private String param = "";
    private List<InCatalog> allCatalogs;
    //-----------------------------------------------------------
    // Atributos
    //-----------------------------------------------------------
    /**
     * Representa un nuevo vendedor a ingresar
     */
    private InCatalog catalog = new InCatalog();

    //-----------------------------------------------------------
    // Getters y setters
    //-----------------------------------------------------------
    public CatalogBean() {
    }

    /**
     * Devuelve el objeto de vendedor actual
     *
     * @return vendedor Vendedor actual
     */
    public InCatalog getCatalog() {
        return catalog;
    }

    /**
     * Modifica al vendedor actual
     *
     * @param vendedor Nuevo vendedor
     */
    public void setCatalog(InCatalog catalog) {
        this.catalog = catalog;
    }

    /**
     * Devuelve todos los vendedores del sistema
     *
     * @return vendedores Lista con todos los vendedores del sistema
     */
    public List<InCatalog> getCatalogs() {
        if (allCatalogs == null) {
            allCatalogs = serviceCatalog.getCatalog();
        }
        return allCatalogs;
    }

    public void handleCatalogChange(String sql, String param) {
        System.out.println(this.param);
        Map<String, String> map = new HashMap<String, String>();
        map.put(param, this.param);

        allCatalogs = this.serviceCatalog.getCatalogFilter(sql, map);
    }

    public String getParam() {
        return param;
    }

    public void setParam(String param) {
        this.param = param;
    }
}